The present invention relates to a feature for connecting connector components which wrap predefined interfaces of a plurality of information systems in an EAI system for associating the information systems to provide interfaces for other programs.
In recent years, due to fast changes in businesses, trend to borderless business environments, rapid and oppressive changes in basic industrial systems, and the like, a need exists for a system which is capable of implementing new business services in a short term and at low cost, and also capable of implementing a flexible system configuration which permits immediate supports for such changes. To meet the need, a field called “enterprise application integration” (hereinafter referred to as “EAI”) has been growing, mainly led by the United States, for rapidly and securely implementing a new intra-enterprise information system by combining existing enterprise application software packages and existing information system assets using an EAI system. The EAI system is mainly responsible for controlling paths among information systems, and transferring data which flows among the information systems. The processing in each information system is referred to as a “transaction”; and data flowing among information systems as “transaction data”.
A first known example of EAI is described in U.S. Pat. No. 6,256,676. In this known example, the EAI system is referred to as a “hub”; each transaction as a “spoke”; and an overall system using the hub as “hub-and-spoke systems”.
A second known example of EAI is described in “The Workflow Reference Model, TC00-1003 (1995)”, Chapter 2, pp. 6–18, published by Workflow Management Coalition. In this known example, the EAI system is referred to as a “workflow management engine”; each transaction as an “activity”; and an overall system using the workflow management engine as a “workflow management system”.
In recent years, some component models, which enable programs to be reused, have also emerged for realizing short-term development of a server program in a distributed object system which is an information processing system that is constructed making use of distributed object technologies. For permitting the reuse of programs, programs are created in conformity to predefined rules in a component model. A program created in this way is referred to as a “component”. Since the component can be reused, it can be sold and purchased as a distributable part.
In a system based on the component model, a program which provides a service initiates a component, and a program which utilizes the service invokes the component to accomplish desired processing. Here, each service provided by each component is referred to as a “method”; a program which provides a service as a “service providing program”; and a program which utilizes a service as a “service utilizing program”.
A system based on the component model has a problem in a method of acquiring an identifier for a service utilizing program to call a component. Here, an identifier for calling an object or a component is referred to as “reference information”. An object for use by a service utilizing program in acquiring reference information on a component is referred to as a “home”.
The system based on the component model also requires an infrastructure for executing components. This infrastructure is referred to as an “application server”.
A known example of the component model is described, for example, in “Enterprise JavaBeans Specification, v1.1 (1999)”, from Chapter 3 to Chapter 4, pp. 21–38, published by Sun Microsystems, Inc. of the United States (“Enterprise JavaBeans” is a registered trademark of Sun Microsystems, Inc. of the United States). In this known example, a component is referred to as “Enterprise Bean”; a home as “EJBHome”; and an application server as “EJB Container” and “EJB server”.
Also, some component models are capable of wrapping existing enterprise application software packages and existing information system assets to connect to an existing transaction program from another program in an united method. In this disclosure, this component model is particularly referred to as a “connector component model”.
A known example of the connector component model is described, for example, in “J2EE Connector Architecture Specification, Version 1.0, Proposed Final Draft #2 (2001)”, from Chapter 2 to Chapter 4, pp. 5–16, published by Sun Microsystems, Inc. of the United States. In this known example, a connector component is referred to as a “connector”; and a home as a “connection factory”; and an application server as an “application server”.
Now, description will be made on a method of connecting an existing transaction program to an EAI system using components in the prior art.
Generally, for integrating an existing transaction program into an EAI system, a connecting means referred to as an “adapter program” must be installed in each transaction for connecting the existing transaction program to the EAI system. The adapter program starts, maintains and terminates a connection with the EAI system in accordance with a connection interface for an adapter defined by the EAI system. Therefore, conventionally, a means for managing the state of connection with the EAI system must be installed in the adapter program. The adapter program is also required to have installed therein a means for converting a data structure for input data passed from the EAI system to the adapter program into a data structure for input data to the existing transaction program; and a means for converting a data structure for data outputted from the existing transaction program into a data structure for output data requested by the EAI system. The adapter program is further required to have installed therein a process of starting, executing and terminating a connection with the existing transaction program in consideration of an inherent interface provided by the existing transaction program.
However, by using a connector component for a connection to the existing transaction program, the adapter program need not handle the interface inherent to the existing transaction program, and instead can implement a process of starting, executing and terminating a connection with the connector component in consideration of a united interface.
Also, by using a component as a service utilizing program which utilizes a service provided by the connector component, it is possible to improve the reusability of the adapter program for installation. In this disclosure, this is particularly referred to as an “adapter component”.
For developing an adapter program when a connector component has been previously provided, a programmer for developing an adapter program must be fully familiar with a means for managing the state of a connection to an EAI system; a means for utilizing services provided by the connector components; a means for installing component models of the adapter component; a complicated communication interface between respective components; and the like. Also, for converting input data passed from the EAI system to the adapter into a data format required by the connector component, and returning the result of execution to the EAI system, data on the result of execution must be converted into a data format required by the EAI system.